package cn.edu.gzgs.service;

import cn.edu.gzgs.dto.EmailListDTO;
import cn.edu.gzgs.entity.EmailMsg;

import java.util.List;

/**
 * 邮件消息服务接口
 */
public interface EmailMsgService {

    /**
     * 获取用户的邮件列表
     *
     * @param userId 用户ID
     * @return 邮件列表
     */
    List<EmailListDTO> getEmailList(String userId);

    /**
     * 批量标记邮件为已读
     *
     * @param ids    邮件ID列表
     * @param userId 用户ID（用于权限验证）
     * @return 更新的记录数
     */
    int batchMarkAsRead(List<Long> ids, String userId);

    /**
     * 批量删除邮件
     *
     * @param ids    邮件ID列表
     * @param userId 用户ID（用于权限验证）
     * @return 删除的记录数
     */
    int batchDelete(List<Long> ids, String userId);

    /**
     * 发送邮件消息（存储到数据库）
     *
     * @param emailMsg 邮件消息
     * @return 是否发送成功
     */
    boolean sendEmail(EmailMsg emailMsg);
}